home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 429_01 / chess12 / chcharui.hpp < prev    next >
C/C++ Source or Header  |  1994-03-30  |  3KB  |  70 lines

  1. #if !defined(CHCHARUI_HPP)
  2. #define CHCHARUI_HPP
  3.  
  4. #include "misc.hpp"
  5. #include "brdsize.hpp"
  6.  
  7. // middle layer of user interface
  8. class CHESSCHARUSERIFACE
  9.   {
  10.   public:
  11.     // display empty chess board and empty message area
  12.     CLASSMEMBER void initScreen(void);
  13.  
  14.     // show the abbreviation for a piece at a given location on
  15.     // the displayed chess board
  16.     CLASSMEMBER void showPiece(POSITION whereBoard, const char *abbrev);
  17.  
  18.     // clear a displayed piece at a given location on the chess board
  19.     CLASSMEMBER void clearPiece(POSITION whereBoard);
  20.  
  21.     // show a message in the message area of the screen.  the
  22.     // parameter is a pointer to an array of pointers to strings.
  23.     // the function logically concatenates these strings into a
  24.     // single message string.  the message is displayed left-justified
  25.     // in the message area.  line-breaks are inserted as necessary in
  26.     // place of blanks in the logical message string.
  27.     CLASSMEMBER void showMessage(const char **textList);
  28.  
  29.     // clear last message displayed
  30.     CLASSMEMBER void clearMessage(void);
  31.  
  32.     // show a message and wait for the user to press a key in response.
  33.     // user may press a key corresponding to the list of characters
  34.     // specified by keyList, or the escape key.  if the escape key is
  35.     // pressed the function returns FALSE.  Otherwise, the function
  36.     // returns TRUE, and keyIndex is set to the index of character in
  37.     // keyList corresponding to the key pressed.
  38.     CLASSMEMBER BOOL showMessage
  39.       (
  40.         // same as textList parameter in first showMessage
  41.         const char **textList,
  42.         // list of accepted character keys.  if null, any key is
  43.     // accepted.
  44.         const char *keyList,
  45.         // if not null, pointer to variable to set to the index of
  46.     // the key pressed
  47.         uint *keyIndex
  48.       );
  49.  
  50.     // display a message, then let the user select a position on the 
  51.     // chess board.  if the user pressed the escape key, the function
  52.     // returns FALSE.  Otherwise the function returns TRUE, and the
  53.     // selected position is returned in whereBoard.
  54.     CLASSMEMBER BOOL selectPosition
  55.       (
  56.         const char **textList,
  57.         POSITION &whereBoard
  58.       );
  59.  
  60.     // highlights a position on the board
  61.     CLASSMEMBER void setSelect(POSITION whereBoard);
  62.     // clears highlight of a position on the board
  63.     CLASSMEMBER void clearSelect(POSITION whereBoard);
  64.   };
  65.  
  66. // only instance of this class
  67. extern CHESSCHARUSERIFACE ChessCharUI;
  68.  
  69. #endif
  70.